<?xml version="1.0" encoding="utf-8"?>
<!--
                                                                                     
 h       t     t                ::       /     /                     t             / 
 h       t     t                ::      //    //                     t            // 
 h     ttttt ttttt ppppp sssss         //    //  y   y       sssss ttttt         //  
 hhhh    t     t   p   p s            //    //   y   y       s       t          //   
 h  hh   t     t   ppppp sssss       //    //    yyyyy       sssss   t         //    
 h   h   t     t   p         s  ::   /     /         y  ..       s   t    ..   /     
 h   h   t     t   p     sssss  ::   /     /     yyyyy  ..   sssss   t    ..   /     
                                                                                     
	<https://y.st./>
	Copyright © 2017 Alex Yst <mailto:copyright@y.st>

	This program is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with this program. If not, see <https://www.gnu.org./licenses/>.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<base href="https://y.st./en/weblog/2017/05-May/15.xhtml" />
		<title>Classifying wheat and cotton as minerals &lt;https://y.st./en/weblog/2017/05-May/15.xhtml&gt;</title>
		<link rel="icon" type="image/png" href="/link/CC_BY-SA_4.0/y.st./icon.png" />
		<link rel="stylesheet" type="text/css" href="/link/basic.css" />
		<link rel="stylesheet" type="text/css" href="/link/site-specific.css" />
		<script type="text/javascript" src="/script/javascript.js" />
		<meta name="viewport" content="width=device-width" />
	</head>
	<body>
		<nav>
			<p>
				<a href="/en/">Home</a> |
				<a href="/en/a/about.xhtml">About</a> |
				<a href="/en/a/contact.xhtml">Contact</a> |
				<a href="/a/canary.txt">Canary</a> |
				<a href="/en/URI_research/"><abbr title="Uniform Resource Identifier">URI</abbr> research</a> |
				<a href="/en/opinion/">Opinions</a> |
				<a href="/en/coursework/">Coursework</a> |
				<a href="/en/law/">Law</a> |
				<a href="/en/a/links.xhtml">Links</a> |
				<a href="/en/weblog/2017/05-May/15.xhtml.asc">{this page}.asc</a>
			</p>
			<hr/>
			<p>
				Weblog index:
				<a href="/en/weblog/"><abbr title="American Standard Code for Information Interchange">ASCII</abbr> calendars</a> |
				<a href="/en/weblog/index_ol_ascending.xhtml">Ascending list</a> |
				<a href="/en/weblog/index_ol_descending.xhtml">Descending list</a>
			</p>
			<hr/>
			<p>
				Jump to entry:
				<a href="/en/weblog/2015/03-March/07.xhtml">&lt;&lt;First</a>
				<a rel="prev" href="/en/weblog/2017/05-May/14.xhtml">&lt;Previous</a>
				<a rel="next" href="/en/weblog/2017/05-May/16.xhtml">Next&gt;</a>
				<a href="/en/weblog/latest.xhtml">Latest&gt;&gt;</a>
			</p>
			<hr/>
		</nav>
		<header>
			<h1>Classifying wheat and cotton as minerals</h1>
			<p>Day 00800: Monday, 2017 May 15</p>
		</header>
<img src="/img/CC_BY-SA_4.0/y.st./weblog/2017/05/15.png" alt="Wheat and cotton stats" class="weblog-header-image" width="800" height="600" />
<section id="general">
	<h2>General news</h2>
	<p>
		I tried stuffing a pizza crust with spring rolls as planned at work today.
		It actually turned out very well!
		My one complaint though it that the rolls were under-cooked.
		Next time, I should cook them before rolling them into the crust, then cook them again inside the pizza.
	</p>
	<p>
		I smashed my finger in the drive-through window when opening it today.
		That really hurt.
		I should be more careful.
	</p>
	<p>
		On my breaks, I planned the callback functions for <code>minequest</code>&apos;s <abbr title="application programming interface">API</abbr>.
		I&apos;m going to have so much fun with that mod once it&apos;s complete.
		However, I also thought of an issue in <code>minestats</code> while I was planning the other mod&apos;s <abbr title="application programming interface">API</abbr>.
		Specifically, farm plants are considered minerals in some circumstances, but not others.
		If the plant drops one item and that item is its production item, not its seeds, it&apos;ll be counted as a mineral.
		This results in <code>minestats</code> claiming you&apos;ve mined, for example, four wheat when you&apos;ve actually harvested thirty.
		Also, labelling it as the number of &quot;wheat mined&quot; would look strange.
		I tried running a simulation once I got home, and it appears to only affect underdeveloped farm plants, in practice.
		I didn&apos;t realise you could even get any crops from the underdeveloped plants.
		In any case, farm plants have eight stages, labelled one through eight (I know, I&apos;m disappointed in the developers for skipping zero too), and stage six has the highest probability of this issue occurring.
		Stages before that work their way up in probability until the peak at stage six, then start heading down at stage seven, but completely drop off at stage eight.
		This really challenges how I define in-game minerals.
		I already had to give up on calling coral a mineral for the purposes of <code>minestats</code>, but now to need to call wheat and cotton sometimes a mineral and sometimes not?
		Preposterous!
		Thankfully, I came up with a way to disqualify farm plants, even though I still don&apos;t have a way to qualify coral.
		All I need to do is program the mineral checker to see if a node has more than one drop defined, and if so, if there&apos;s a limit of one drop.
		For example, gravel defines two drops, but there&apos;s a limit of one.
		Each gravel node will drop either gravel or flint, but never both, so gravel/flint is a mineral for the purposes of <code>minestats</code>.
		On the other hand, wheat has four drops defined and no limit.
		It can drop up to two wheat and two seeds any time you harvest it, so it doesn&apos;t qualify as a mineral.
	</p>
	<p>
		The funny part is if I had a better way to control the displayed stats, I wouldn&apos;t even mind wheat and cotton being counted.
		But because they&apos;re only counted sometimes, I can&apos;t have them labelled as the number harvested (or mined, actually).
		If I could instead call them &quot;lucky wheat harvested&quot; and such, I&apos;d love to leave the counter alone as a feature.
		As long as it implies it&apos;s the full count though, it&apos;s a bug and needs to be eliminated.
	</p>
	<p>
		My <a href="/a/canary.txt">canary</a> still sings the tune of freedom and transparency.
	</p>
</section>
		<hr/>
		<p>
			Copyright © 2017 Alex Yst;
			You may modify and/or redistribute this document under the terms of the <a rel="license" href="/license/gpl-3.0-standalone.xhtml"><abbr title="GNU&apos;s Not Unix">GNU</abbr> <abbr title="General Public License version Three or later">GPLv3+</abbr></a>.
			If for some reason you would prefer to modify and/or distribute this document under other free copyleft terms, please ask me via email.
			My address is in the source comments near the top of this document.
			This license also applies to embedded content such as images.
			For more information on that, see <a href="/en/a/licensing.xhtml">licensing</a>.
		</p>
		<p>
			<abbr title="World Wide Web Consortium">W3C</abbr> standards are important.
			This document conforms to the <a href="https://validator.w3.org./nu/?doc=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2017%2F05-May%2F15.xhtml"><abbr title="Extensible Hypertext Markup Language">XHTML</abbr> 5.1</a> specification and uses style sheets that conform to the <a href="http://jigsaw.w3.org./css-validator/validator?uri=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2017%2F05-May%2F15.xhtml"><abbr title="Cascading Style Sheets">CSS</abbr>3</a> specification.
		</p>
	</body>
</html>

